Many software application programs for touch screen displays include both a means of moving (“navigation”) around a graphically represented space on the display and a means of creating annotations upon that display. These annotations can include, but are not limited to, freehand drawings, geometric shapes such as rectangles and circles, pre-defined images such as icons or symbols, and text.
An example of such a program is the Perceptive Pixel Mapboard application. Mapboard allows users to navigate rapidly through maps with panning and zooming operations. These operations are controlled through touch gestures that the user performs on a touch screen. Mapboard also enables users to draw freehand annotations which appear as if on the map, and which move and scale as the map is manipulated.
Some prior designs with persistent modes use a graphical button that allows users to switch between distinct navigation and annotation modes: in one mode all touch input on the display is interpreted as navigational control; in the other, touches create freehand colored strokes. The application also includes colored buttons to set the color used for all annotation anywhere on the display. These modes are persistent; they remain in force until the user takes explicit action to switch modes or colors.
This design, shared by many similar applications, causes several problems. First, users must visually locate the button on the screen and move their finger to touch it. The amount of time needed to locate and touch the button may comprise a significant portion of the total time needed to perform a task using the program, especially when the tasks requires frequent switches between the modes. The severity of this problem is increased when using the program on a very large display (e.g., 80″ display), since this time to reach across the display to the control buttons increase with the size of the display.
The second problem with the persistent modes design occurs in the context where multiple users are interacting with a single touch screen. Since modes, colors, currently selected tools, etc. are set globally, users may not perform different actions, or operate in different modes, simultaneously. For example, in a design using persistent modes, it's not possible for one user to draw in red while another draws in blue; likewise one user cannot use a text annotation tool while another user uses a color pen.
An alternate design, found in some programs, adopts single-use tools. Such a program usually has a default operational mode; for example, in the default mode, user input causes navigation. The user may also select a single-use tool, such as a marker or a rectangle drawing tool, for annotation by touching or clicking an on-screen icon. The program then enters a temporary mode, when a next touch or mouse-down event is interpreted as an invocation of the temporary mode. The temporary mode is maintained until the finger is raised or the mouse-button is released. Only then the program reverts to the default mode.
This design has two problems. First, many tasks will require such a tool to be used multiple times per task, requiring the single use tool be selected repeatedly. For example, if a user wanted to circle an area on the map and indicate it with a hand-drawn arrow, they would need to select the drawing tool once for each of the several strokes needed to make this annotation. The second problem is largely the same as the multi-user problem described above; multiple users cannot practically use such a system simultaneously on the same screen, unless the system has a means of associating multiple, disparate touch events with a single user. However, touch systems in general do not have this capability.